import json
import logging

from openpyxl import load_workbook


class ReadXlsxUtil(object):

    @classmethod
    def read_xlsx(cls, file_path, sheet_name):
        '''
        :param file_path: xlsx文件路径
        :param sheet_name: xlsx底部的工作表名称
        :return: [(),(),(),...]
        '''
        wb = load_workbook(file_path)
        sheet = wb.get_sheet_by_name(sheet_name)

        case_data = []
        i = 2
        while i <= sheet.max_row:
            # C表格中【标题】的列名，K表格中【请求参数】的列名，L表格中【状态码】的列名，M表格中【预期结果】的列名
            tuple_data = sheet[f'C{i}'].value, json.loads(sheet[f'K{i}'].value), sheet[f'L{i}'].value, json.loads(
                sheet[f'M{i}'].value)
            case_data.append(tuple_data)
            i += 1

        logging.info(case_data)

        return case_data
